Telegram Group & Telegram Channel
🐍 Как просто создать мультисловарь (Multi-dictionary) в Python

Хочешь, чтобы один ключ в словаре указывал на несколько значений?

Легко!

Используй collections.defaultdict и встроенный list:


from collections import defaultdict

multidict = defaultdict(list)
multidict["SW"].append("Han Solo")
multidict["SW"].append("R2D2")


🔁 Теперь каждый ключ по умолчанию сопоставляется с пустым списком. А append добавляет новое значение в этот список.

Но будь внимателен: это немного “обман”. На самом деле словарь всё ещё отображает один ключ → одно значение. Просто это значение — список, в который ты уже сам кладёшь что угодно.

Почему defaultdict удобен?
Потому что тебе не нужно проверять, есть ли ключ в словаре. Пустой список будет создан автоматически при первом обращении к ключу.

@pythonl



tg-me.com/pythonl/4768
Create:
Last Update:

🐍 Как просто создать мультисловарь (Multi-dictionary) в Python

Хочешь, чтобы один ключ в словаре указывал на несколько значений?

Легко!

Используй collections.defaultdict и встроенный list:


from collections import defaultdict

multidict = defaultdict(list)
multidict["SW"].append("Han Solo")
multidict["SW"].append("R2D2")


🔁 Теперь каждый ключ по умолчанию сопоставляется с пустым списком. А append добавляет новое значение в этот список.

Но будь внимателен: это немного “обман”. На самом деле словарь всё ещё отображает один ключ → одно значение. Просто это значение — список, в который ты уже сам кладёшь что угодно.

Почему defaultdict удобен?
Потому что тебе не нужно проверять, есть ли ключ в словаре. Пустой список будет создан автоматически при первом обращении к ключу.

@pythonl

BY Python/ django




Share with your friend now:
tg-me.com/pythonl/4768

View MORE
Open in Telegram


Python django Telegram | DID YOU KNOW?

Date: |

The Singapore stock market has alternated between positive and negative finishes through the last five trading days since the end of the two-day winning streak in which it had added more than a dozen points or 0.4 percent. The Straits Times Index now sits just above the 3,060-point plateau and it's likely to see a narrow trading range on Monday.

The S&P 500 slumped 1.8% on Monday and Tuesday, thanks to China Evergrande, the Chinese property company that looks like it is ready to default on its more-than $300 billion in debt. Cries of the next Lehman Brothers—or maybe the next Silverado?—echoed through the canyons of Wall Street as investors prepared for the worst.

Python django from sg


Telegram Python/ django
FROM USA